package com.yonyou.brigade.third_parties.ctripBC.model;

import com.baomidou.mybatisplus.enums.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;

/**
 * <p>
 * 
 * </p>
 *
 * @author jiangzhf@yonyou.com
 * @since 2018-12-24
 */
@TableName("ctrip_bc_user")
public class CtripBCUser extends Model<CtripBCUser> {

    /*
    * insert into third_property(`key`,`value`,type,channel)
values('CorpCardType','B','String','ctrip');
insert into third_property(`key`,`value`,type,channel)
values('ResRange','C','String','ctrip');
insert into third_property(`key`,`value`,type,channel)
values('UseTRFlag','31','INTEGER','ctrip');
insert into third_property(`key`,`value`,type,channel)
values('IsBookClass','F','String','ctrip');
insert into third_property(`key`,`value`,type,channel)
values('IntlBookClassBlock','C;F','String','ctrip');*/

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 用户userId
     */
    @TableField("user_id")
    private String userId;

    private String tenant;


    private String org;
    /**
     * 员工的携程卡号
     */
    private String uid;
    /**
     * 员工编号
     */
    @TableField("employee_id")
    private String employeeId;
    /**
     * 用户姓名
     */
    private String name;
    /**
     * 手机号码
     */
    @TableField("mobile_phone")
    private String mobilePhone;
    /**
     * 邮箱
     */
    private String email;
    /**
     * 在职情况 A 在职 I离职
     */
    private String valid;
    /**
     * 职级
     */
    private String rank;
    /**
     * 职级名称
     */
    @TableField("rank_name")
    private String rankName;
    /**
     * 部门1
     */
    private String dept1;
    /**
     * 部门2
     */
    private String dept2;
    /**
     * 部门3
     */
    private String dept3;
    /**
     * 部门4
     */
    private String dept4;
    /**
     * 子账户名称
     */
    @TableField("subaccount_name")
    private String subaccountName;
    /**
     * 代订类型 C（个人卡），B（代订卡）：代订范围默认整个公司，D（虚卡）
     */
    @TableField("corp_card_type")
    private String corpCardType;
    /**
     * 代订范围：当前用户可代订范围  C：公司、F：主账户及其他、S：子账户及其他、O：其他（根据代订关系配置）；（当代订类型为B（代订卡）时，代订范围不能为空）
     */
    @TableField("res_range")
    private String resRange;
    /**
     * 国内机票两舱是否可预订：T:是，F：否
     */
    @TableField("is_book_class")
    private String isBookClass;
    /**
     * 国际屏蔽舱位控制：C（公务），F（头等），Y（经济），SY（超经）。可传多个值，每个用英文";"隔开（如：C;F;SY）如需清空该字段，传字符串"null"
     */
    @TableField("intl_book_class_block")
    private String intlBookClassBlock;
    /**
     * 是否发送开通邮件，true=是，false=否；
     */
    @TableField("is_send_email")
    private String isSendEmail;
    /**
     * 设置不可帮非员工预订产品类型，多个则将其对应数字相加1（国内机票），2（国际机票），4（酒店），8（用车），16（火车票）例如：17，不可帮非员工预订国内机票和火车票如需清空该字段，传值-1
     */
    @TableField("use_tr_flag")
    private Integer useTRFlag;

    /*公司ID，由携程方提供*/
    @TableField(exist = false)
    private String CorporationID;
    private Date ts;


    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getUid() {
        return uid;
    }

    public void setUid(String uid) {
        this.uid = uid;
    }

    public String getEmployeeId() {
        return employeeId;
    }

    public void setEmployeeId(String employeeId) {
        this.employeeId = employeeId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }


    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getValid() {
        return valid;
    }

    public void setValid(String valid) {
        this.valid = valid;
    }

    public String getRank() {
        return rank;
    }

    public void setRank(String rank) {
        this.rank = rank;
    }

    public String getRankName() {
        return rankName;
    }

    public void setRankName(String rankName) {
        this.rankName = rankName;
    }

    public String getDept1() {
        return dept1;
    }

    public void setDept1(String dept1) {
        this.dept1 = dept1;
    }

    public String getDept2() {
        return dept2;
    }

    public void setDept2(String dept2) {
        this.dept2 = dept2;
    }

    public String getDept3() {
        return dept3;
    }

    public void setDept3(String dept3) {
        this.dept3 = dept3;
    }

    public String getDept4() {
        return dept4;
    }

    public void setDept4(String dept4) {
        this.dept4 = dept4;
    }

    public String getSubaccountName() {
        return subaccountName;
    }

    public void setSubaccountName(String subaccountName) {
        this.subaccountName = subaccountName;
    }

    public String getCorpCardType() {
        return corpCardType;
    }

    public void setCorpCardType(String corpCardType) {
        this.corpCardType = corpCardType;
    }

    public String getResRange() {
        return resRange;
    }

    public void setResRange(String resRange) {
        this.resRange = resRange;
    }

    public String getIsBookClass() {
        return isBookClass;
    }

    public void setIsBookClass(String isBookClass) {
        this.isBookClass = isBookClass;
    }

    public String getIntlBookClassBlock() {
        return intlBookClassBlock;
    }

    public void setIntlBookClassBlock(String intlBookClassBlock) {
        this.intlBookClassBlock = intlBookClassBlock;
    }

    public String getIsSendEmail() {
        return isSendEmail;
    }

    public void setIsSendEmail(String isSendEmail) {
        this.isSendEmail = isSendEmail;
    }

    public Integer getUseTRFlag() {
        return useTRFlag;
    }

    public void setUseTRFlag(Integer useTRFlag) {
        this.useTRFlag = useTRFlag;
    }

    public String getTenant() {
        return tenant;
    }

    public void setTenant(String tenant) {
        this.tenant = tenant;
    }

    public String getOrg() {
        return org;
    }

    public void setOrg(String org) {
        this.org = org;
    }

    public String getMobilePhone() {
        return mobilePhone;
    }

    public void setMobilePhone(String mobilePhone) {
        this.mobilePhone = mobilePhone;
    }

    public String getCorporationID() {
        return CorporationID;
    }

    public void setCorporationID(String corporationID) {
        CorporationID = corporationID;
    }

    public Date getTs() {
        return ts;
    }

    public void setTs(Date ts) {
        this.ts = ts;
    }

    public static final String ID = "id";

    public static final String USER_ID = "user_id";

    public static final String UID = "uid";

    public static final String EMPLOYEE_ID = "employee_id";

    public static final String NAME = "name";

    public static final String MOBILE_HOME = "mobile_home";

    public static final String EMAIL = "email";

    public static final String VALID = "valid";

    public static final String RANK = "rank";

    public static final String RANK_NAME = "rank_name";

    public static final String DEPT1 = "dept1";

    public static final String DEPT2 = "dept2";

    public static final String DEPT3 = "dept3";

    public static final String DEPT4 = "dept4";

    public static final String SUBACCOUNT_NAME = "subaccount_name";

    public static final String CORP_CARD_TYPE = "corp_card_type";

    public static final String RES_RANGE = "res_range";

    public static final String IS_BOOK_CLASS = "is_book_class";

    public static final String INTL_BOOK_CLASS_BLOCK = "intl_book_class_block";

    public static final String IS_SEND_EMAIL = "is_send_email";

    public static final String USE_TR_FLAG = "use_tr_flag";

    public static final String TS = "ts";

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "CtripBCUser{" +
        "id=" + id +
        ", userId=" + userId +
        ", uid=" + uid +
        ", employeeId=" + employeeId +
        ", name=" + name +
        ", mobilePhone=" + mobilePhone +
        ", email=" + email +
        ", valid=" + valid +
        ", rank=" + rank +
        ", rankName=" + rankName +
        ", dept1=" + dept1 +
        ", dept2=" + dept2 +
        ", dept3=" + dept3 +
        ", dept4=" + dept4 +
        ", subaccountName=" + subaccountName +
        ", corpCardType=" + corpCardType +
        ", resRange=" + resRange +
        ", isBookClass=" + isBookClass +
        ", intlBookClassBlock=" + intlBookClassBlock +
        ", isSendEmail=" + isSendEmail +
        ", useTrFlag=" + useTRFlag +
        ", ts=" + ts +
        "}";
    }
}
